package com.example.vendingmachine.service;

import com.example.vendingmachine.dto.AreaDTO;
import com.example.vendingmachine.dto.AreaQuery;
import com.example.vendingmachine.entity.Area;
import com.github.pagehelper.PageInfo;

/**
 * 区域服务接口
 */
public interface AreaService {
    /**
     * 分页查询区域列表
     */
    PageInfo<Area> listAreas(AreaQuery query);

    /**
     * 根据ID查询区域
     */
    Area getAreaById(Long id);

    /**
     * 新增区域
     */
    Long createArea(AreaDTO areaDTO);

    /**
     * 更新区域
     */
    void updateArea(AreaDTO areaDTO);

    /**
     * 删除区域
     */
    void deleteArea(Long id);

    /**
     * 更新区域状态
     */
    void updateAreaStatus(Long id, String status);

    /**
     * 检查管理员是否可以被分配
     */
    boolean checkAdminAvailable(Long adminId);
} 